#coding=utf-8
from .sdk.CCPRestSDK import REST
from tornado.gen import coroutine,Return
from tornado.ioloop import IOLoop
from tornado.httpclient import HTTPError
import json,random
from ..error import SerivceError
accountSid = '8a48b5514a61a814014a6b4bbbf4039e'
# 说明：主账号，登陆云通讯网站后，可在控制台首页中看到开发者主账号ACCOUNT SID。

accountToken = '909ce0f78e9f4a66beaec16f55288410'
# 说明：主账号Token，登陆云通讯网站后，可在控制台首页中看到开发者主账号AUTH TOKEN。

appId = '8a48b5514a61a814014a7151a6f709fd'
# 请使用管理控制台中已创建应用的APPID。

serverIP = 'app.cloopen.com'
# 说明：请求地址，生产环境配置成app.cloopen.com。

serverPort = '8883'
# 说明：请求端口 ，生产环境为8883.

softVersion = '2013-12-26'  # 说明：REST API版本号保持不变。


@coroutine
def sendTemplateSMS(to, valid_num):
    # 初始化REST SDK
    tempId = 205568
    datas=[valid_num,' 2 ']
    rest = REST(serverIP, serverPort, softVersion)
    rest.setAccount(accountSid, accountToken)
    rest.setAppId(appId)
    try:
        result = yield rest.sendTemplateSMS(to, datas, tempId)
    except HTTPError:
        raise Return(False)
    data = json.loads(result.body)
    if data['statusCode']!="000000":
        raise Return(False)
    raise Return(True)


def generate_valid_code():
    # 生成四位验证吗
    valid_code = ''
    for each in range(4):
        valid_code+=str(random.randint(0,9))
    return valid_code

if __name__=='__main__':
    @coroutine
    def main():
        yield sendTemplateSMS(17710882591,(u'34124',u' 2 '),10797)
    IOLoop.instance().run_sync(main)
